package com.jyh.db.entity;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class JyhPlatformAccountExample {
    /**
     * jyh_platform_account
     */
    protected String orderByClause;

    /**
     * jyh_platform_account
     */
    protected boolean distinct;

    /**
     * jyh_platform_account
     */
    protected List<Criteria> oredCriteria;

    /**
     *
     * @mbggenerated 2017-10-24
     */
    public JyhPlatformAccountExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    /**
     *
     * @mbggenerated 2017-10-24
     */
    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    /**
     *
     * @mbggenerated 2017-10-24
     */
    public String getOrderByClause() {
        return orderByClause;
    }

    /**
     *
     * @mbggenerated 2017-10-24
     */
    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    /**
     *
     * @mbggenerated 2017-10-24
     */
    public boolean isDistinct() {
        return distinct;
    }

    /**
     *
     * @mbggenerated 2017-10-24
     */
    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    /**
     *
     * @mbggenerated 2017-10-24
     */
    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    /**
     *
     * @mbggenerated 2017-10-24
     */
    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    /**
     *
     * @mbggenerated 2017-10-24
     */
    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    /**
     *
     * @mbggenerated 2017-10-24
     */
    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    /**
     *
     * @mbggenerated 2017-10-24
     */
    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    /**
     * jyh_platform_account 2017-10-24
     */
    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIDIsNull() {
            addCriterion("ID is null");
            return (Criteria) this;
        }

        public Criteria andIDIsNotNull() {
            addCriterion("ID is not null");
            return (Criteria) this;
        }

        public Criteria andIDEqualTo(Integer value) {
            addCriterion("ID =", value, "ID");
            return (Criteria) this;
        }

        public Criteria andIDNotEqualTo(Integer value) {
            addCriterion("ID <>", value, "ID");
            return (Criteria) this;
        }

        public Criteria andIDGreaterThan(Integer value) {
            addCriterion("ID >", value, "ID");
            return (Criteria) this;
        }

        public Criteria andIDGreaterThanOrEqualTo(Integer value) {
            addCriterion("ID >=", value, "ID");
            return (Criteria) this;
        }

        public Criteria andIDLessThan(Integer value) {
            addCriterion("ID <", value, "ID");
            return (Criteria) this;
        }

        public Criteria andIDLessThanOrEqualTo(Integer value) {
            addCriterion("ID <=", value, "ID");
            return (Criteria) this;
        }

        public Criteria andIDIn(List<Integer> values) {
            addCriterion("ID in", values, "ID");
            return (Criteria) this;
        }

        public Criteria andIDNotIn(List<Integer> values) {
            addCriterion("ID not in", values, "ID");
            return (Criteria) this;
        }

        public Criteria andIDBetween(Integer value1, Integer value2) {
            addCriterion("ID between", value1, value2, "ID");
            return (Criteria) this;
        }

        public Criteria andIDNotBetween(Integer value1, Integer value2) {
            addCriterion("ID not between", value1, value2, "ID");
            return (Criteria) this;
        }

        public Criteria andAccountBalanceIsNull() {
            addCriterion("accountBalance is null");
            return (Criteria) this;
        }

        public Criteria andAccountBalanceIsNotNull() {
            addCriterion("accountBalance is not null");
            return (Criteria) this;
        }

        public Criteria andAccountBalanceEqualTo(BigDecimal value) {
            addCriterion("accountBalance =", value, "accountBalance");
            return (Criteria) this;
        }

        public Criteria andAccountBalanceNotEqualTo(BigDecimal value) {
            addCriterion("accountBalance <>", value, "accountBalance");
            return (Criteria) this;
        }

        public Criteria andAccountBalanceGreaterThan(BigDecimal value) {
            addCriterion("accountBalance >", value, "accountBalance");
            return (Criteria) this;
        }

        public Criteria andAccountBalanceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("accountBalance >=", value, "accountBalance");
            return (Criteria) this;
        }

        public Criteria andAccountBalanceLessThan(BigDecimal value) {
            addCriterion("accountBalance <", value, "accountBalance");
            return (Criteria) this;
        }

        public Criteria andAccountBalanceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("accountBalance <=", value, "accountBalance");
            return (Criteria) this;
        }

        public Criteria andAccountBalanceIn(List<BigDecimal> values) {
            addCriterion("accountBalance in", values, "accountBalance");
            return (Criteria) this;
        }

        public Criteria andAccountBalanceNotIn(List<BigDecimal> values) {
            addCriterion("accountBalance not in", values, "accountBalance");
            return (Criteria) this;
        }

        public Criteria andAccountBalanceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("accountBalance between", value1, value2, "accountBalance");
            return (Criteria) this;
        }

        public Criteria andAccountBalanceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("accountBalance not between", value1, value2, "accountBalance");
            return (Criteria) this;
        }

        public Criteria andUserMoneyIsNull() {
            addCriterion("userMoney is null");
            return (Criteria) this;
        }

        public Criteria andUserMoneyIsNotNull() {
            addCriterion("userMoney is not null");
            return (Criteria) this;
        }

        public Criteria andUserMoneyEqualTo(BigDecimal value) {
            addCriterion("userMoney =", value, "userMoney");
            return (Criteria) this;
        }

        public Criteria andUserMoneyNotEqualTo(BigDecimal value) {
            addCriterion("userMoney <>", value, "userMoney");
            return (Criteria) this;
        }

        public Criteria andUserMoneyGreaterThan(BigDecimal value) {
            addCriterion("userMoney >", value, "userMoney");
            return (Criteria) this;
        }

        public Criteria andUserMoneyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("userMoney >=", value, "userMoney");
            return (Criteria) this;
        }

        public Criteria andUserMoneyLessThan(BigDecimal value) {
            addCriterion("userMoney <", value, "userMoney");
            return (Criteria) this;
        }

        public Criteria andUserMoneyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("userMoney <=", value, "userMoney");
            return (Criteria) this;
        }

        public Criteria andUserMoneyIn(List<BigDecimal> values) {
            addCriterion("userMoney in", values, "userMoney");
            return (Criteria) this;
        }

        public Criteria andUserMoneyNotIn(List<BigDecimal> values) {
            addCriterion("userMoney not in", values, "userMoney");
            return (Criteria) this;
        }

        public Criteria andUserMoneyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("userMoney between", value1, value2, "userMoney");
            return (Criteria) this;
        }

        public Criteria andUserMoneyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("userMoney not between", value1, value2, "userMoney");
            return (Criteria) this;
        }

        public Criteria andPutMoneyIsNull() {
            addCriterion("putMoney is null");
            return (Criteria) this;
        }

        public Criteria andPutMoneyIsNotNull() {
            addCriterion("putMoney is not null");
            return (Criteria) this;
        }

        public Criteria andPutMoneyEqualTo(BigDecimal value) {
            addCriterion("putMoney =", value, "putMoney");
            return (Criteria) this;
        }

        public Criteria andPutMoneyNotEqualTo(BigDecimal value) {
            addCriterion("putMoney <>", value, "putMoney");
            return (Criteria) this;
        }

        public Criteria andPutMoneyGreaterThan(BigDecimal value) {
            addCriterion("putMoney >", value, "putMoney");
            return (Criteria) this;
        }

        public Criteria andPutMoneyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("putMoney >=", value, "putMoney");
            return (Criteria) this;
        }

        public Criteria andPutMoneyLessThan(BigDecimal value) {
            addCriterion("putMoney <", value, "putMoney");
            return (Criteria) this;
        }

        public Criteria andPutMoneyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("putMoney <=", value, "putMoney");
            return (Criteria) this;
        }

        public Criteria andPutMoneyIn(List<BigDecimal> values) {
            addCriterion("putMoney in", values, "putMoney");
            return (Criteria) this;
        }

        public Criteria andPutMoneyNotIn(List<BigDecimal> values) {
            addCriterion("putMoney not in", values, "putMoney");
            return (Criteria) this;
        }

        public Criteria andPutMoneyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("putMoney between", value1, value2, "putMoney");
            return (Criteria) this;
        }

        public Criteria andPutMoneyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("putMoney not between", value1, value2, "putMoney");
            return (Criteria) this;
        }

        public Criteria andIncomeMoneyIsNull() {
            addCriterion("incomeMoney is null");
            return (Criteria) this;
        }

        public Criteria andIncomeMoneyIsNotNull() {
            addCriterion("incomeMoney is not null");
            return (Criteria) this;
        }

        public Criteria andIncomeMoneyEqualTo(BigDecimal value) {
            addCriterion("incomeMoney =", value, "incomeMoney");
            return (Criteria) this;
        }

        public Criteria andIncomeMoneyNotEqualTo(BigDecimal value) {
            addCriterion("incomeMoney <>", value, "incomeMoney");
            return (Criteria) this;
        }

        public Criteria andIncomeMoneyGreaterThan(BigDecimal value) {
            addCriterion("incomeMoney >", value, "incomeMoney");
            return (Criteria) this;
        }

        public Criteria andIncomeMoneyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("incomeMoney >=", value, "incomeMoney");
            return (Criteria) this;
        }

        public Criteria andIncomeMoneyLessThan(BigDecimal value) {
            addCriterion("incomeMoney <", value, "incomeMoney");
            return (Criteria) this;
        }

        public Criteria andIncomeMoneyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("incomeMoney <=", value, "incomeMoney");
            return (Criteria) this;
        }

        public Criteria andIncomeMoneyIn(List<BigDecimal> values) {
            addCriterion("incomeMoney in", values, "incomeMoney");
            return (Criteria) this;
        }

        public Criteria andIncomeMoneyNotIn(List<BigDecimal> values) {
            addCriterion("incomeMoney not in", values, "incomeMoney");
            return (Criteria) this;
        }

        public Criteria andIncomeMoneyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("incomeMoney between", value1, value2, "incomeMoney");
            return (Criteria) this;
        }

        public Criteria andIncomeMoneyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("incomeMoney not between", value1, value2, "incomeMoney");
            return (Criteria) this;
        }

        public Criteria andFeeMoneyIsNull() {
            addCriterion("feeMoney is null");
            return (Criteria) this;
        }

        public Criteria andFeeMoneyIsNotNull() {
            addCriterion("feeMoney is not null");
            return (Criteria) this;
        }

        public Criteria andFeeMoneyEqualTo(BigDecimal value) {
            addCriterion("feeMoney =", value, "feeMoney");
            return (Criteria) this;
        }

        public Criteria andFeeMoneyNotEqualTo(BigDecimal value) {
            addCriterion("feeMoney <>", value, "feeMoney");
            return (Criteria) this;
        }

        public Criteria andFeeMoneyGreaterThan(BigDecimal value) {
            addCriterion("feeMoney >", value, "feeMoney");
            return (Criteria) this;
        }

        public Criteria andFeeMoneyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("feeMoney >=", value, "feeMoney");
            return (Criteria) this;
        }

        public Criteria andFeeMoneyLessThan(BigDecimal value) {
            addCriterion("feeMoney <", value, "feeMoney");
            return (Criteria) this;
        }

        public Criteria andFeeMoneyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("feeMoney <=", value, "feeMoney");
            return (Criteria) this;
        }

        public Criteria andFeeMoneyIn(List<BigDecimal> values) {
            addCriterion("feeMoney in", values, "feeMoney");
            return (Criteria) this;
        }

        public Criteria andFeeMoneyNotIn(List<BigDecimal> values) {
            addCriterion("feeMoney not in", values, "feeMoney");
            return (Criteria) this;
        }

        public Criteria andFeeMoneyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("feeMoney between", value1, value2, "feeMoney");
            return (Criteria) this;
        }

        public Criteria andFeeMoneyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("feeMoney not between", value1, value2, "feeMoney");
            return (Criteria) this;
        }

        public Criteria andTimestampIsNull() {
            addCriterion("timestamp is null");
            return (Criteria) this;
        }

        public Criteria andTimestampIsNotNull() {
            addCriterion("timestamp is not null");
            return (Criteria) this;
        }

        public Criteria andTimestampEqualTo(Date value) {
            addCriterion("timestamp =", value, "timestamp");
            return (Criteria) this;
        }

        public Criteria andTimestampNotEqualTo(Date value) {
            addCriterion("timestamp <>", value, "timestamp");
            return (Criteria) this;
        }

        public Criteria andTimestampGreaterThan(Date value) {
            addCriterion("timestamp >", value, "timestamp");
            return (Criteria) this;
        }

        public Criteria andTimestampGreaterThanOrEqualTo(Date value) {
            addCriterion("timestamp >=", value, "timestamp");
            return (Criteria) this;
        }

        public Criteria andTimestampLessThan(Date value) {
            addCriterion("timestamp <", value, "timestamp");
            return (Criteria) this;
        }

        public Criteria andTimestampLessThanOrEqualTo(Date value) {
            addCriterion("timestamp <=", value, "timestamp");
            return (Criteria) this;
        }

        public Criteria andTimestampIn(List<Date> values) {
            addCriterion("timestamp in", values, "timestamp");
            return (Criteria) this;
        }

        public Criteria andTimestampNotIn(List<Date> values) {
            addCriterion("timestamp not in", values, "timestamp");
            return (Criteria) this;
        }

        public Criteria andTimestampBetween(Date value1, Date value2) {
            addCriterion("timestamp between", value1, value2, "timestamp");
            return (Criteria) this;
        }

        public Criteria andTimestampNotBetween(Date value1, Date value2) {
            addCriterion("timestamp not between", value1, value2, "timestamp");
            return (Criteria) this;
        }
    }

    /**
     * jyh_platform_account
     *
     * @mbggenerated do_not_delete_during_merge 2017-10-24
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    /**
     * jyh_platform_account 2017-10-24
     */
    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}